cmake_minimum_required(VERSION 3.11)
project(Algorithms)

set(CMAKE_CXX_STANDARD 14)

add_executable(Algorithms main.cpp)

add_executable(SelectionSort Test/SelectionSort/SelectionSort.cpp)

# 递归函数 recursive function
add_executable(Recursion Test/Recursion/Recursion.cpp)

add_executable(QuickSort Test/QuickSort/QuickSort.cpp)

# 广度优先搜索算法
add_executable(BreadthFirstSearch Test/BFS/BreadthFirstSearch.cpp)
# 02已经实现了
add_executable(BreadthFirstSearch02 Test/BFS/BreadthFirstSearch02.cpp)
# 03是将注释等去掉
add_executable(BreadthFirstSearch03 Test/BFS/BreadthFirstSearch03.cpp)

# 狄克斯特拉算法
add_executable(DijkstraAlgorithm01 Test/DijkstraAlgorithm/DijkstraAlgorithmTest01.cpp)
add_executable(DijkstraAlgorithm02 Test/DijkstraAlgorithm/DijkstraAlgorithmTest02.cpp)
add_executable(DijkstraAlgorithm03 Test/DijkstraAlgorithm/DijkstraAlgorithmTest03.cpp)
# 这个 04 版本已经完成了任务！！！！！！
add_executable(DijkstraAlgorithm04 Test/DijkstraAlgorithm/DijkstraAlgorithmTest04.cpp)
# 05 版本做一下最后的改善, 注意: 04 已经成功运行了。
add_executable(DijkstraAlgorithm05 Test/DijkstraAlgorithm/DijkstraAlgorithmTest05.cpp)
# 06 版本删除多余的内容, 例如: 注释。
add_executable(DijkstraAlgorithm06 Test/DijkstraAlgorithm/DijkstraAlgorithmTest06.cpp)

# 贪婪算法——集合覆盖问题
# SetCoverProblem01是有问题的, 看SetCoverProblem02。
add_executable(SetCoverProblem01 Test/SetCoverProblem/SetCoverProblem01.cpp)
add_executable(SetCoverProblem02 Test/SetCoverProblem/SetCoverProblem02.cpp)

#################################################################################################
# 测试C++中集合运算
add_executable(SetOperationTest01 Test/SetCoverProblem/TestSetOperation/SetOperationTest01.cpp)
#################################################################################################

add_executable(SetCoverProblem03 Test/SetCoverProblem/SetCoverProblem03.cpp)
# 04版本是对网上的一个Java实现的版本的测试。
add_executable(SetCoverProblem04 Test/SetCoverProblem/SetCoverProblem04.cpp)
